Projekt unter Git-Kontrolle bringen
Repositorys und Branches in CODESYS Git
Für die Verwaltung eines CODESYS-Projekts in Git mit Hilfe von CODESYS Git genügt zunächst ein rein lokales Git-Repository in der „Projektablage“ (Arbeitsverzeichnis), im Folgenden auch nur „Git-Repository“ genannt. Für die Zusammenarbeit mit anderen Entwicklern am Projekt kann das lokale Git-Repository mit einem allen zugänglichen „Remote-Repository“ verknüpft werden.
Das Arbeiten am Git-verwalteten Projekt erfolgt zunächst in lokalen Branches (Arbeitsständen). Die lokalen Branches können einen Remote-Branch tracken, also eine Verbindung zum Remote-Repository haben. Remote-Branches sind im lokalen Git-Repository verfügbare Stellvertreter des jeweiligen gleichnamigen Branches im Remote-Repository.
Tipp
Sie können ein Git-Repository mit dem Befehl Repository verschieben an einen anderen Ort im Dateisystem verschieben.
Tipp
Sie können mit dem Befehl Von Git-Repository trennen ein Projekt von der Quellcodeverwatlung in Git trennen.
Warnung
Wenn für das CODESYS-Projekt eine Verschlüsselung eingestellt ist (CODESYS-Projekteinstellungen - Sicherheit), ist das Git-Repository (weder lokal noch Remote) nicht automatisch auch entsprechend geschützt.
CODESYS-Projekt über git init
unter Git-Verwaltung bringen
Voraussetzung: CODESYS Git ist installiert. Sie haben ein CODESYS-Projekt geöffnet.
Bereiten Sie im Dateisystem ein leeres Verzeichnis für die Git-Projektablage vor, das das lokale Git-Repository enthalten soll. Beispiel:
D:\git_local\rep1
Öffnen Sie das CODESYS-Projekt, das unter Git-Verwaltung gebracht werden soll, in CODESYS Git. Beispiel:
myproj.project
.Wählen Sie den Befehl
.Der Dialog Git-Repository initialisieren öffnet sich.
Tragen Sie im Dialog den Pfad des leeren Verzeichnisses für die Git-Projektablage ein (Beispiel:
D:\git_local\rep1
). Das darin angelegte Git-Repository wird Ihr lokaler „master“.Falls im lokalen Benutzerverzeichnis (z.B.
C:\Benutzer\m.muster
) noch keine globale Konfigurationsdatei.gitconfig
vorliegt, werden Sie jetzt in einem Meldungsdialog aufgefordert, eine solche Grundkonfiguration für alle CODESYS Git-Aktionen anzulegen. Sie erhalten zur Eingabe einiger Parameter denselben Dialog wie über den Befehl Git Config. Die Standardeinstellung für Standard-Branch istmaster
. Geben Sie Ihre Benutzerdaten Benutzername und Email-Adresse an (Beispielm.muster
,m.muster@company.com
).Die Objekte im Projektnavigator sind mit blauen Plussymbolen
(Status „hinzugefügt“) versehen, der Wurzelknoten (Projektname) mit einem orangem Quadratsymbol
(Status „geändert“).
In der Ansicht
wird der Pfad der Git-Projektablage angezeigt.Damit ist die Projektverwaltung in dem in der Projektablage liegenden Git-Repository initialisiert.
Speichern Sie das Projekt, wie ohne Git-Verwaltung üblich, in einem separaten Projektverzeichnis (Beispiel:
D:\git_projects\myproj.project
). Hinweis: Die Projektdateien unterliegen somit doppelter Datenhaltung.Öffnen Sie die Ansicht Git-Status. Wählen Sie die im unteren Teil Nicht vorgemerkte Änderungen die angezeigten Projektobjekte aus. Klicken Sie dann auf die Schaltfläche
, um sie für einen Commit vorzumerken.
Die Objekte werden nach oben unter Vorgemerkte Änderungen verschoben.
Klicken Sie die Schaltfläche
(Commit). Geben Sie im Dialog Vorgemerkte Änderungen committen eine Commit-Meldung ein und bestätigen Sie mit OK.
Der aktuelle Stand der Projektobjekte wird in das lokale Repository übertragen.
Wählen Sie den Befehl
.In der Ansicht History wird der erste Commit für den „master“ mit Informationen dazu dargestellt.
Im Projektnavigator erscheinen grüne Kreissymbole
vor den committeten Objekten und auch vor der Wurzel. Dies bedeutet, der Stand des Projekts ist synchron mit seinem Stand im Git-Repository.
Wählen Sie den Befehl Local (1).
und aktivieren Sie den FilterDer Default-Branch für das Git-Repository ist als
master
(refs/heads/master)
sichtbar.Sehen Sie im Dateisystem ins lokale Repository
D:\git_local\rep1
.Hier liegt jetzt das Verzeichnis
.git
(das eigentliche Git-Repository) mit dem Unterverzeichnisproject
und den Dateien.gitattributes
,.gitignore
und.apsession
. Das Verzeichnisproject
enthält die Objekte des CODESYS-Projekts.Nun können Sie das Projekt, sobald erforderlich, noch mit einem Remote-Repository verbinden.
Über Git-Repository klonen...
ein neues CODESYS-Projekt erstellen, das bereits unter Git-Verwaltung steht
Mittels Git Clone wird ein neues CODESYS-Projekt erstellt, das unter Git-Versionsverwaltung liegt. Dabei wird die neue Projektablage, also das neue Arbeitsverzeichnis mit dem Git-Repository, durch Klonen eines Remote-Repositorys erzeugt.
Voraussetzung: CODESYS Git ist installiert. Sie haben Zugriff auf ein Remote-Repository.
Öffnen Sie CODESYS Git. Wählen Sie den Befehl . Er ist verfügbar, wenn kein CODESYS-Projekt geöffnet ist.
Der Dialog Git Clone öffnet sich.
Geben Sie als Quell-URL die URL oder den Dateipfad des zu klonenden Remote-Repositorys an (Beispiel:
D:\git_remotes\remote1
).Geben Sie bei Git-Speicherpfad das für die neue Git-Projektablage (neues Git-Repository) vorgesehene leere Dateiverzeichnis an (Beispiel:
D:\git_local\rep1
).Geben Sie bei Projektdatei ein Projektverzeichnis an, in dem das neue CODESYS-Projekt zusätzlich und außerhalb von Git (!) abgelegt werden soll (Beispiel:
D:\git_projects\myproj1.project
, doppelte Datenhaltung!).Wählen Sie bei Projektdateityp, ob es ein Standardprojekt oder ein Bibliotheksprojekt werden soll. Bestätigen Sie den Dialog.
Falls im lokalen Benutzerverzeichnis (z.B.
C:\Benutzer\m.muster
) noch keine globale Konfigurationsdatei.gitconfig
vorliegt, werden Sie jetzt in einem Meldungsdialog aufgefordert, eine solche Grundkonfiguration für alle CODESYS Git-Aktionen anzulegen. Sehen Sie dazu oben die Anleitung für das Initialisieren eines Git-Projekts, Schritt 4.Wenn die Git-Option Selbstsigniertes Zertifikat akzeptieren nicht aktiviert ist, prüft CODESYS Git zunächst das Zertifikat für die Verbindung mit dem Server, von dem das Projekt geklont werden soll. Wenn das Zertifikat nicht vertrauenswürdig ist, erhalten Sie die Möglichkeit, die Verbindung nach persönlicher Prüfung dennoch zuzulassen.
Das neue Projekt wird geöffnet. Das neue Arbeitsverzeichnis wird angelegt und automatisch als Git-Repository initialisiert. Es enthält zunächst genau den Stand des Remote-Repositorys zum Zeitpunkt des Klonens.
Wählen Sie im CODESYS-Projekt den Befehl .
In der Ansicht Git-Branches sind bereits die Remote-Branches zu sehen. Standardmäßig wird für den Remote-Branch „master“ auch ein lokaler Branch „master“ angelegt, der den Remote-Branch trackt. Sie können nun sofort auf diesem lokalen Branch arbeiten. Auch eine Verbindung (Tracking) des lokalen Branches zum „Stellvertreter“-Remote-Branch (
origin/master
) des neuen Git-Repositorys ist bereits hergestellt.
Projekt mit einem Remote-Repository verknüpfen
Voraussetzung: Sie haben ein Projekt unter Git-Verwaltung in CODESYS Git. Nun möchten Sie die Verbindung zu einem Remote-Repository herstellen, um dort Ihre Commits mit den Commits anderer Bearbeiter zu synchronisieren.
Wählen Sie den Befehl Git-Remotes auf die Schaltfläche
. Klicken Sie in der AnsichtHinzufügen.
Der Dialog Neues Git-Remote hinzufügen öffnet sich.
Geben Sie den Pfad und einen Namen für das anzubindende Remote-Repository ein. Beispiel: Alias-Name:
origin
, URL:D:\git_remote
.Führen Sie den Befehl
Fetch aus und wechseln Sie dann mit dem Befehl zur Ansicht Git-Branches.
Üblicherweise sind für den Zugriff auf ein Remote-Repository Anmeldedaten nötig. Nur falls auf dem Computer keine gültigen Anmeldedaten gefunden werden, erhalten Sie zur Eingabe den Dialog Anmeldedaten erforderlich. Sehen Sie für weitere Informationen: Anmeldedaten erforderlich.
Aktivieren Sie den Filter Remote (<n>).
Sie sehen die Remote-Branches.
Deaktivieren Sie den Filter Remote (<n>). Aktiveren Sie den Filter Lokal (1). Selektieren Sie den Eintrag
master
und wählen Sie den Befehl Upstream Set. Wenn es für das gewählte Remote-Repository noch keinen Remote-Branch (origin/master
) gibt, geschieht Folgendes:Der Dialog Upstream-Remote für Branch setzen öffnet sich. Der Remote-Name
origin
ist bereits vorgegeben.Bestätigen Sie die Eingaben mit OK.
→ Für den
master
sind die Optionen Tracking und Aktueller aktiviert. Unter Tracked Branch, Name stehtorigin/master
.Das bedeutet, der Remote-Branch
origin/master
für das Remote-Repository ist intern angelegt. Er dient nur als Stellvertreter, auf diesem Branch wird nicht direkt gearbeitet.Selektieren Sie den
master
und klicken Sie Push, um. Aktivieren Sie den Filter Remote (1).Nun wird der Stellvertreter-Branch
origin/master
unter Git-Branches Remote (1) auch angezeigt. Die Verbindung vom lokalenmaster
zum Remote-Repository über dessen Stellvertreterorigin/master
ist hergestellt.Nun können Sie in der Ansicht Git-Branches Lokal (<1>) den lokalen Branch (
master
) des Git-Repositorys mit Hilfe des Befehls Branch tracken mit dem neuen Remote-Branch des Remote-Repositorys verknüpfen.